<?php
require_once('config.php');
require_once(SERVER_ROOT. '/daos/' . 'ClienteDAO.php');

class ClienteTest extends PHPUnit_Framework_TestCase{
	private $clienteDAO;

	public function __construct(){
		$this->clienteDAO = new ClienteDAO();
	}
	public function criarCliente(){
		$nome = "Test";
		$endereco = "Rua Teste";
		$cidade = "Sao Paulo";
		$estado = "SP";
		$cep = "006624-510";
		$telefone_fixo = "(11)47892513";
		$telefone_movel = "(11)97823-4000";
		$email = "teste@teste.com.br";
		$data_nascimento = "21/09/2012";
		$profissao = "Analista de Sistema";
		$estado_civil = "Solteiro";
		$rg = "47.123.312-7";
		$cpf = "329.133.341.88";
		$status = "1";
		$cliente = array(
				'nome'=>$nome,
				'endereco'=>$endereco,
				'cidade'=>$cidade,
				'estado'=>$estado,
				'cep'=>$cep,
				'telefone_fixo'=>$telefone_fixo,
				'telefone_movel'=>$telefone_movel,
				'email'=>$email,
				'data_nascimento'=>$data_nascimento,
				'profissao'=>$profissao,
				'estado_civil'=>$estado_civil,
				'rg'=>$rg,
				'cpf'=>$cpf,
				'status'=>$status);
		return $cliente;
	}
	public function testSave(){
		$cliente = $this->criarCliente();
		$res = $this->clienteDAO->save($cliente);
		$this->assertEquals($res,1);
		$clientePersistido = $this->clienteDAO->findByCPF($cliente['cpf']);
		$this->assertEquals($cliente['nome'],$clientePersistido['nome']);
		$this->assertEquals($cliente['endereco'],$clientePersistido['endereco']);
		$this->assertEquals($cliente['cidade'],$clientePersistido['cidade']);
		$this->assertEquals($cliente['estado'],$clientePersistido['estado']);
		$this->assertEquals($cliente['cep'],$clientePersistido['cep']);
		$this->assertEquals($cliente['telefone_fixo'],$clientePersistido['telefone_fixo']);
		$this->assertEquals($cliente['telefone_movel'],$clientePersistido['telefone_movel']);
		$this->assertEquals($cliente['email'],$clientePersistido['email']);
		$this->assertEquals($cliente['profissao'],$clientePersistido['profissao']);
		$this->assertEquals($cliente['estado_civil'],$clientePersistido['estado_civil']);
		$this->assertEquals($cliente['rg'],$clientePersistido['rg']);
		$this->assertEquals($cliente['cpf'],$clientePersistido['cpf']);
		$this->assertEquals($cliente['status'],$clientePersistido['status']);
	}
	public function testGetCliente(){
		$cliente = $this->criarCliente();
		$res = $this->clienteDAO->save($cliente);
		$this->assertEquals($res,1);
		$clientePersistido = $this->clienteDAO->findByCPF($cliente['cpf']);
		// 		$this->assertEquals($cliente,$clientePersistido);
		$result = $this->clienteDAO->removeById($clientePersistido['id_cliente']);
		$this->assertEquals($result,3);
	}
}